home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / misc / interfaces3_5.lha / Interfaces / ConUnit.mod < prev    next >
Text File  |  1994-03-05  |  3KB  |  92 lines

  1. (*
  2. (*
  3. **  Amiga Oberon Interface Module:
  4. **  $VER: ConUnit.mod 40.15 (28.12.93) Oberon 3.0
  5. **
  6. **   © 1993 by Fridtjof Siebert
  7. *)
  8. *)
  9.  
  10. MODULE ConUnit;   (* $Implementation- *)
  11.  
  12. IMPORT
  13.   e  * := Exec,
  14.   c  * := Console,
  15.   km * := KeyMap,
  16.   ie * := InputEvent,
  17.   I  * := Intuition,
  18.   g  * := Graphics;
  19.  
  20. CONST
  21.  
  22. (* ---- console unit numbers for OpenDevice() *)
  23.   library   * = -1;      (* no unit, just fill in IO_DEVICE field *)
  24.   standard  * = 0;       (* standard unmapped console *)
  25.  
  26. (* ---- New unit numbers for OpenDevice() - (V36) *)
  27.  
  28.   charMap   * = 1;       (* bind character map to console *)
  29.   snipMap   * = 3;       (* bind character map w/ snip to console *)
  30.  
  31. (* ---- New flag defines for OpenDevice() - (V37) *)
  32.  
  33.   flagDefault         * = LONGSET{};
  34.   flagNoDrawOnNewSize * = LONGSET{0};
  35.  
  36.  
  37.   pmbAsm    * = c.mLNM+1;       (* internal storage bit for AS flag *)
  38.   pmbAwm    * = pmbAsm+1;       (* internal storage bit for AW flag *)
  39.   maxTabs   * = 80;
  40.  
  41. TYPE
  42.  
  43.   ConUnitPtr * = UNTRACED POINTER TO   ConUnit;
  44.   ConUnit * = STRUCT (mp * : e.MsgPort)
  45.       (* ---- read only variables *)
  46.     window       - : I.WindowPtr; (* intuition window bound to this unit *)
  47.     xCP          - : INTEGER;     (* character position *)
  48.     yCP          - : INTEGER;
  49.     xMax         - : INTEGER;     (* max character position *)
  50.     yMax         - : INTEGER;
  51.     xRSize       - : INTEGER;     (* character raster size *)
  52.     yRSize       - : INTEGER;
  53.     xROrigin     - : INTEGER;     (* raster origin *)
  54.     yROrigin     - : INTEGER;
  55.     xRExtant     - : INTEGER;     (* raster maxima *)
  56.     yRExtant     - : INTEGER;
  57.     xMinShrink   - : INTEGER;     (* smallest area intact from resize process *)
  58.     yMinShrink   - : INTEGER;
  59.     xcCP         - : INTEGER;     (* cursor position *)
  60.     ycCP         - : INTEGER;
  61.  
  62.       (* ---- read/write variables (writes must must be protected) *)
  63.       (* ---- storage for AskKeyMap and SetKeyMap *)
  64.     keyMapStruct * : km.KeyMap;
  65.       (* ---- tab stops *)
  66.     tabStops     * : ARRAY maxTabs OF INTEGER; (* 0 at start, 0xffff at end of list *)
  67.  
  68.       (* ---- console rastport attributes *)
  69.     mask         * : SHORTSET;
  70.     fgPen        * : SHORTINT;
  71.     bgPen        * : SHORTINT;
  72.     aolPen       * : SHORTINT;
  73.     drawMode     * : SHORTSET;
  74.     obsolete1    * : e.BYTE;      (* was cu_AreaPtSz -- not used in V36 *)
  75.     obsolete2    * : e.APTR;      (* was cu_AreaPtrn -- not used in V36 *)
  76.     minterms     * : ARRAY 8 OF e.BYTE; (* console minterms *)
  77.     font         * : g.TextFontPtr;
  78.     algoStyle    * : e.BYTE;
  79.     txFlags      * : SHORTSET;
  80.     txHeight     * : INTEGER;
  81.     txWidth      * : INTEGER;
  82.     txBaseline   * : INTEGER;
  83.     txSpacing    * : INTEGER;
  84.  
  85.     (* ---- console MODES and RAW EVENTS switches *)
  86.     modes        * : ARRAY (pmbAwm + 7) DIV 8 OF SHORTSET;  (* one bit per mode *)
  87.     rawEvents    * : ARRAY (ie.classMax + 7) DIV 8 OF SHORTSET;
  88.   END;
  89.  
  90. END ConUnit.
  91.  
  92.